package net.neptech.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.neptech.dto.workflow.PageDto;
import net.neptech.model.dto.PageResultDto;
import net.neptech.model.dto.TaskDto;
import net.neptech.model.vo.DataQueryVO;
import net.neptech.model.vo.FormGroupVo;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface CombinationGroupService {
    List<String> queryUserListByDeptIdListAndRoleIdList(List<String> deptIdList, List<String> roleIdList);

    List<FormGroupVo> listGroupWithProcess(Boolean hidden);

    List<FormGroupVo> listGroupWithProcessMain();

    List<FormGroupVo.FlowVo> searchFlowList(String word);

    List<FormGroupVo> listCurrentUserStartGroup();

    @Transactional
    void deleteProcessMain(String uniqueId);

    @Transactional
    void clear(String uniqueId);

    PageResultDto<TaskDto> queryTodoTaskList(PageDto pageVO);

    PageResultDto<TaskDto> queryFinishedTaskList(DataQueryVO pageVO);

    Page queryInitiatedTaskList(DataQueryVO pageDto);

    Page queryCopiedTaskList(DataQueryVO pageDto);
}
